Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/js/MicronParser.js b528c127277839175e77c8b2de312769937d4f47 (b528c127) Text, 39.35 KB

T8b949e/* global DOMPurify */
T8b949e/**
* Micron Parser JavaScript implementation
*
* micron-parser.js is based on MicronParser.py from NomadNet:
* https://raw.githubusercontent.com/markqvist/NomadNet/refs/heads/master/nomadnet/ui/textui/MicronParser.py
*
* Documentation for the Micron markdown format can be found here:
* https://raw.githubusercontent.com/markqvist/NomadNet/refs/heads/master/nomadnet/ui/textui/Guide.py
*/

Tff7b72class Te6edf3MicronParser Tb4b4b4{
Tff7b72constructorTb4b4b4(Te6edf3darkTheme Tff7b72= Tff7b72trueTb4b4b4, Te6edf3enableForceMonospace Tff7b72= Tff7b72trueTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3darkTheme Tff7b72= Te6edf3darkThemeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3enableForceMonospace Tff7b72= Te6edf3enableForceMonospaceTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARK Tff7b72= Ta5d6ff"ddd"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_LIGHT Tff7b72= Ta5d6ff"222"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BG Tff7b72= Ta5d6ff"default"Tb4b4b4;

Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3injectMonospaceStylesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3DOMPurify Tff7b72=== Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(
Ta5d6ff"DOMPurify is not installed. Include it above micron-parser.js or run npm install dompurify"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"DOMPurify is not installed. Include it above micron-parser.js or run npm install dompurify"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72thisTb4b4b4.Te6edf3STYLES_DARK Tff7b72= Tb4b4b4{
Te6edf3plainTff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARKTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading1Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"222"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"bbb"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading2Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"111"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"999"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading3Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"000"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"777"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3STYLES_LIGHT Tff7b72= Tb4b4b4{
Te6edf3plainTff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_LIGHTTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading1Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"000"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"777"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading2Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"111"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"aaa"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3heading3Tff7b72: Tb4b4b4{ Te6edf3fgTff7b72: Ta5d6ff"222"Tb4b4b4, Te6edf3bgTff7b72: Ta5d6ff"ccc"Tb4b4b4, Te6edf3boldTff7b72: Tff7b72falseTb4b4b4, Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4, Te6edf3italicTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLES Tff7b72= Tff7b72thisTb4b4b4.Te6edf3darkTheme Tff7b72? Tff7b72thisTb4b4b4.Te6edf3STYLES_DARK Tff7b72: Tff7b72thisTb4b4b4.Te6edf3STYLES_LIGHTTb4b4b4;
Tb4b4b4}

Te6edf3injectMonospaceStylesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"micron-monospace-styles"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}

Tff7b72const Te6edf3styleEl Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"style"Tb4b4b4)Tb4b4b4;
Te6edf3styleElTb4b4b4.Te6edf3id Tff7b72= Ta5d6ff"micron-monospace-styles"Tb4b4b4;

Te6edf3styleElTb4b4b4.Te6edf3textContent Tff7b72= Ta5d6ff`
Ta5d6ff .Mu-nl {
cursor: pointer;
}
.Mu-mnt {
display: inline-block;
width: 0.6em;
text-align: center;
white-space: pre;
text-decoration: inherit;
}
.Mu-mws {
text-decoration: inherit;
display: inline-block;
}
Ta5d6ff`Tb4b4b4;
Tffa657documentTb4b4b4.Te6edf3headTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3styleElTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72static Te6edf3formatNomadnetworkUrlTb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff`Ta5d6ffnomadnetwork://Tffd700${Te6edf3urlTffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}

T8b949e/**
* Remove CSS properties that can create full-screen overlays and block the app UI.
* Nomad Network page content (e.g. dynamic server pages) may contain such styles.
*/
Tff7b72static Te6edf3stripOverlayStylesTb4b4b4(Te6edf3htmlTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3html Tff7b72!== Ta5d6ff"string"Tb4b4b4) Tff7b72return Te6edf3htmlTb4b4b4;
Tff7b72const Te6edf3dangerousProps Tff7b72= Tb4b4b4[Ta5d6ff"zindex"Tb4b4b4, Ta5d6ff"inset"Tb4b4b4, Ta5d6ff"top"Tb4b4b4, Ta5d6ff"left"Tb4b4b4, Ta5d6ff"right"Tb4b4b4, Ta5d6ff"bottom"Tb4b4b4, Ta5d6ff"transform"Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3htmlTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/(\s)style="([^"]*)"/gTb4b4b4, Tb4b4b4(Te6edf3matchTb4b4b4, Te6edf3spaceTb4b4b4, Te6edf3styleValueTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3declarations Tff7b72= Te6edf3styleValueTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff";"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tffa657BooleanTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3safe Tff7b72= Te6edf3declarationsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3declTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3colon Tff7b72= Te6edf3declTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff":"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3colon Tff7b72<= T79c0ff0Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3rawProp Tff7b72= Te6edf3declTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3colonTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3prop Tff7b72= Te6edf3rawPropTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/-/gTb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3val Tff7b72= Te6edf3decl
Tb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3colon Tff7b72+ T79c0ff1Tb4b4b4)
Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"position" Tff7b72&& Tb4b4b4(Te6edf3val Tff7b72=== Ta5d6ff"fixed" Tff7b72|| Te6edf3val Tff7b72=== Ta5d6ff"sticky"Tb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dangerousPropsTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3propTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"width" Tff7b72&& Ta5d6ff/100v[wh]/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"height" Tff7b72&& Ta5d6ff/100v[hw]/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3out Tff7b72= Te6edf3safeTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"; "Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3out Tff7b72? Ta5d6ff`Tffd700${Te6edf3spaceTffd700}Ta5d6ffstyle="Tffd700${Te6edf3outTffd700}Ta5d6ff"Ta5d6ff` Tff7b72: Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3parseHeaderTagsTb4b4b4(Te6edf3markupTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3pageFg Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72let Te6edf3pageBg Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72const Te6edf3lines Tff7b72= Te6edf3markupTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;

Tff7b72for Tb4b4b4(Tff7b72let Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3trimmedLine Tff7b72= Te6edf3lineTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3trimmedLineTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Tff7b72!Te6edf3trimmedLineTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"#!"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72breakTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3trimmedLineTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"#!fg="Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3color Tff7b72= Te6edf3trimmedLineTb4b4b4.Te6edf3substringTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3colorTb4b4b4.Te6edf3length Tff7b72=== T79c0ff3 Tff7b72|| Te6edf3colorTb4b4b4.Te6edf3length Tff7b72=== T79c0ff6Tb4b4b4) Tb4b4b4{
Te6edf3pageFg Tff7b72= Te6edf3colorTb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3trimmedLineTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"#!bg="Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3color Tff7b72= Te6edf3trimmedLineTb4b4b4.Te6edf3substringTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3colorTb4b4b4.Te6edf3length Tff7b72=== T79c0ff3 Tff7b72|| Te6edf3colorTb4b4b4.Te6edf3length Tff7b72=== T79c0ff6Tb4b4b4) Tb4b4b4{
Te6edf3pageBg Tff7b72= Te6edf3colorTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72return Tb4b4b4{ Te6edf3fgTff7b72: Te6edf3pageFgTb4b4b4, Te6edf3bgTff7b72: Te6edf3pageBg Tb4b4b4}Tb4b4b4;
Tb4b4b4}

T8b949e/**
* Match partial include line:
* `{dest32hex:/path.mu}`
* `{dest32hex:/path.mu`seconds}`
* `{dest32hex:/path.mu`seconds`fields}`
*/
Tff7b72static Te6edf3get Te6edf3PARTIAL_LINE_REGEXTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// eslint-disable-next-line security/detect-unsafe-regex -- fixed pattern, bounded input (single line)
Tff7b72return Ta5d6ff/^`\{([a-f0-9]{32}):([^`}]*)(?:`(\d+)(?:`([^}]*))?)?\}$/Tb4b4b4;
Tb4b4b4}

Te6edf3convertMicronToHtmlTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContents Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3markup Tff7b72== Tff7b72nullTb4b4b4) Tff7b72return Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3markup Tff7b72!== Ta5d6ff"string"Tb4b4b4) Te6edf3markup Tff7b72= Tffa657StringTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3html Tff7b72= Ta5d6ff""Tb4b4b4;

Tff7b72const Te6edf3headerColors Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseHeaderTagsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3plainStyle Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Te6edf3plain Tff7b72|| Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARKTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BG Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3defaultFg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3fg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3fgTb4b4b4;
Tff7b72const Te6edf3defaultBg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3bg Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4;

Tff7b72let Te6edf3state Tff7b72= Tb4b4b4{
Te6edf3literalTff7b72: Tff7b72falseTb4b4b4,
Te6edf3depthTff7b72: T79c0ff0Tb4b4b4,
Te6edf3fg_colorTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3bg_colorTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3formattingTff7b72: Tb4b4b4{
Te6edf3boldTff7b72: Tff7b72falseTb4b4b4,
Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4,
Te6edf3italicTff7b72: Tff7b72falseTb4b4b4,
Te6edf3strikethroughTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3default_fgTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3default_bgTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3radio_groupsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3partialIndexTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72const Te6edf3lines Tff7b72= Te6edf3markupTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;

Tff7b72for Tb4b4b4(Tff7b72let Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3lineOutput Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3el Tff7b72of Te6edf3lineOutputTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3elTb4b4b4.Te6edf3classList Tff7b72&& Te6edf3elTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3containsTb4b4b4(Ta5d6ff"mu-partial"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3id Tff7b72= Te6edf3elTb4b4b4.Te6edf3getAttributeTb4b4b4(Ta5d6ff"data-partial-id"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3id Tff7b72&& Te6edf3partialContentsTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3partialContentsTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3elTb4b4b4.Te6edf3outerHTMLTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3elTb4b4b4.Te6edf3outerHTMLTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// skip
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Ta5d6ff"<br>"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3sanitized Tff7b72= Te6edf3DOMPurifyTb4b4b4.Te6edf3sanitizeTb4b4b4(Te6edf3htmlTb4b4b4, Tb4b4b4{
Te6edf3USE_PROFILESTff7b72: Tb4b4b4{ Te6edf3htmlTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3ALLOWED_URI_REGEXPTff7b72:
Ta5d6ff/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|nomadnetwork|lxmf):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/iTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3MicronParserTb4b4b4.Te6edf3stripOverlayStylesTb4b4b4(Te6edf3sanitizedTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(
Ta5d6ff"DOMPurify is not installed. Include it above micron-parser.js or run npm install dompurify "Tb4b4b4,
Te6edf3error
Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff`Ta5d6ff<p style="color: red;"> ⚠ DOMPurify is not installed. Include it above micron-parser.js or run npm install dompurify </p>Ta5d6ff`Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Te6edf3convertMicronToFragmentTb4b4b4(Te6edf3markupTb4b4b4) Tb4b4b4{
T8b949e// Create a fragment to hold all the Micron output
Tff7b72const Te6edf3fragment Tff7b72= Tffa657documentTb4b4b4.Te6edf3createDocumentFragmentTb4b4b4(Tb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3headerColors Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseHeaderTagsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3plainStyle Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Te6edf3plain Tff7b72|| Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARKTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BG Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3defaultFg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3fg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3fgTb4b4b4;
Tff7b72const Te6edf3defaultBg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3bg Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4;

Tff7b72let Te6edf3state Tff7b72= Tb4b4b4{
Te6edf3literalTff7b72: Tff7b72falseTb4b4b4,
Te6edf3depthTff7b72: T79c0ff0Tb4b4b4,
Te6edf3fg_colorTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3bg_colorTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3formattingTff7b72: Tb4b4b4{
Te6edf3boldTff7b72: Tff7b72falseTb4b4b4,
Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4,
Te6edf3italicTff7b72: Tff7b72falseTb4b4b4,
Te6edf3strikethroughTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3default_fgTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3default_bgTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3radio_groupsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72const Te6edf3lines Tff7b72= Te6edf3markupTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;

Tff7b72for Tb4b4b4(Tff7b72let Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Te6edf3line Tff7b72= Te6edf3DOMPurifyTb4b4b4.Te6edf3sanitizeTb4b4b4(Te6edf3lineTb4b4b4, Tb4b4b4{
Te6edf3USE_PROFILESTff7b72: Tb4b4b4{ Te6edf3htmlTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3ALLOWED_URI_REGEXPTff7b72:
Ta5d6ff/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|nomadnetwork|lxmf):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/iTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3lineOutput Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3el Tff7b72of Te6edf3lineOutputTb4b4b4) Tb4b4b4{
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3elTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// skip
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72return Te6edf3fragmentTb4b4b4;
Tb4b4b4}

Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// Check literals toggle
Tff7b72if Tb4b4b4(Te6edf3line Tff7b72=== Ta5d6ff"`="Tb4b4b4) Tb4b4b4{
Te6edf3stateTb4b4b4.Te6edf3literal Tff7b72= Tff7b72!Te6edf3stateTb4b4b4.Te6edf3literalTb4b4b4;
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Tff7b72!Te6edf3stateTb4b4b4.Te6edf3literalTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3partialMatch Tff7b72= Te6edf3lineTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3matchTb4b4b4(Te6edf3MicronParserTb4b4b4.Te6edf3PARTIAL_LINE_REGEXTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3partialMatchTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3dest Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3path Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3refresh Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff3Tb4b4b4] Tff7b72? Tffa657parseIntTb4b4b4(Te6edf3partialMatchTb4b4b4[T79c0ff3Tb4b4b4]Tb4b4b4, T79c0ff10Tb4b4b4) Tff7b72: Tff7b72nullTb4b4b4;
Tff7b72const Te6edf3fields Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff4Tb4b4b4] Tff7b72|| Tff7b72nullTb4b4b4;
Tff7b72const Te6edf3id Tff7b72= Ta5d6ff"partial-" Tff7b72+ Te6edf3stateTb4b4b4.Te6edf3partialIndexTff7b72++Tb4b4b4;
Tff7b72const Te6edf3div Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"mu-partial"Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-partial-id"Tb4b4b4, Te6edf3idTb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-dest"Tb4b4b4, Te6edf3destTb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-path"Tb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3refresh Tff7b72!= Tff7b72null Tff7b72&& Te6edf3refresh Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-refresh"Tb4b4b4, Tffa657StringTb4b4b4(Te6edf3refreshTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3fieldsTb4b4b4) Tb4b4b4{
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-fields"Tb4b4b4, Te6edf3fieldsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3divTb4b4b4.Te6edf3textContent Tff7b72= Ta5d6ff"Loading..."Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3divTb4b4b4]Tb4b4b4;
Tb4b4b4}

T8b949e// Comments, and header tags s
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"#"Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}

T8b949e// Reset section depth
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"<"Tb4b4b4) Tb4b4b4{
Te6edf3stateTb4b4b4.Te6edf3depth Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e// Section headings
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff">"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3i Tff7b72< Te6edf3lineTb4b4b4.Te6edf3length Tff7b72&& Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4] Tff7b72=== Ta5d6ff">"Tb4b4b4) Tb4b4b4{
Te6edf3iTff7b72++Tb4b4b4;
Tb4b4b4}
Te6edf3stateTb4b4b4.Te6edf3depth Tff7b72= Te6edf3iTb4b4b4;
Tff7b72let Te6edf3headingLine Tff7b72= Te6edf3lineTb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3headingLineTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// apply heading style if it exists
Tff7b72let Te6edf3style Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72let Te6edf3wanted_style Tff7b72= Ta5d6ff"heading" Tff7b72+ Te6edf3iTb4b4b4;
Tff7b72const Te6edf3defaultPlain Tff7b72= Tb4b4b4{
Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3darkTheme Tff7b72? Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARK Tff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_LIGHTTb4b4b4,
Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4,
Te6edf3boldTff7b72: Tff7b72falseTb4b4b4,
Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4,
Te6edf3italicTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Tb4b4b4[Te6edf3wanted_styleTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3style Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTb4b4b4[Te6edf3wanted_styleTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3style Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Te6edf3plain Tff7b72|| Te6edf3defaultPlainTb4b4b4;
Tb4b4b4}

Tff7b72const Te6edf3latched_style Tff7b72= Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3styleToStateTb4b4b4(Te6edf3styleTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;

Tff7b72let Te6edf3outputParts Tff7b72= Tff7b72thisTb4b4b4.Te6edf3makeOutputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3headingLineTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3styleToStateTb4b4b4(Te6edf3latched_styleTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;

T8b949e// make outputParts full container width
Tff7b72if Tb4b4b4(Te6edf3outputParts Tff7b72&& Te6edf3outputPartsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3outerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"inline-block"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3width Tff7b72= Ta5d6ff"100%"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3outerDivTb4b4b4, Te6edf3styleTb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3innerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3innerDivTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3appendOutputTb4b4b4(Te6edf3innerDivTb4b4b4, Te6edf3outputPartsTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3innerDivTb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3br Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3outerDivTb4b4b4, Te6edf3brTb4b4b4]Tb4b4b4;
Tb4b4b4}
T8b949e// wrap in a heading container
Tff7b72if Tb4b4b4(Te6edf3outputParts Tff7b72&& Te6edf3outputPartsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3div Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyAlignmentTb4b4b4(Te6edf3divTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3divTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
T8b949e// merge text nodes
Tff7b72thisTb4b4b4.Te6edf3appendOutputTb4b4b4(Te6edf3divTb4b4b4, Te6edf3outputPartsTb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3divTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4}

T8b949e// horizontal dividers
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"-"Tb4b4b4) Tb4b4b4{
T8b949e// if the line is just "-", do a normal <hr>
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72=== T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hr Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"hr"Tb4b4b4)Tb4b4b4;
Te6edf3hrTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3all Tff7b72= Ta5d6ff"revert"Tb4b4b4;
Te6edf3hrTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3borderColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3fg_colorTb4b4b4)Tb4b4b4;
Te6edf3hrTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3margin Tff7b72= Ta5d6ff"0.5em 0.5em 0.5em 0.5em"Tb4b4b4;
Te6edf3hrTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3boxShadow Tff7b72= Ta5d6ff"0 0 0 0.5em " Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3hrTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3hrTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// if second char given
Tff7b72const Te6edf3dividerChar Tff7b72= Te6edf3lineTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4; T8b949e// use the following character for creating the divider
Tff7b72const Te6edf3repeated Tff7b72= Te6edf3dividerCharTb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff250Tb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3div Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3whiteSpace Tff7b72= Ta5d6ff"pre"Tb4b4b4; T8b949e// needs to not wrap and ignore container formatting
Te6edf3divTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3repeatedTb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3width Tff7b72= Ta5d6ff"100%"Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3whiteSpace Tff7b72= Ta5d6ff"nowrap"Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3overflow Tff7b72= Ta5d6ff"hidden"Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3color Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3fg_colorTb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3backgroundColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3divTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;

Tff7b72return Tb4b4b4[Te6edf3divTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72let Te6edf3outputParts Tff7b72= Tff7b72thisTb4b4b4.Te6edf3makeOutputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4)Tb4b4b4;
T8b949e// outputParts can contain text (tuple) and special objects (fields/checkbox)
Tff7b72if Tb4b4b4(Te6edf3outputPartsTb4b4b4) Tb4b4b4{
T8b949e// create parent div container to apply proper section indent
Tff7b72let Te6edf3container Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyAlignmentTb4b4b4(Te6edf3containerTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3containerTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3appendOutputTb4b4b4(Te6edf3containerTb4b4b4, Te6edf3outputPartsTb4b4b4)Tb4b4b4;

T8b949e// if theres a background color, wrap with outer div
Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3outerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3backgroundColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3width Tff7b72= Ta5d6ff"100%"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"block"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3containerTb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3outerDivTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4[Te6edf3containerTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// empty line but maintain background color if set
Tff7b72const Te6edf3br Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3outerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3backgroundColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3width Tff7b72= Ta5d6ff"100%"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3height Tff7b72= Ta5d6ff"1.2em"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"block"Tb4b4b4;

Tff7b72const Te6edf3innerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3innerDivTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Te6edf3innerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3brTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3innerDivTb4b4b4)Tb4b4b4;

Tff7b72return Tb4b4b4[Te6edf3outerDivTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4[Te6edf3brTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// Empty line handling for just newline background color
Tff7b72const Te6edf3br Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3outerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3backgroundColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3width Tff7b72= Ta5d6ff"100%"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3height Tff7b72= Ta5d6ff"1.2em"Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"block"Tb4b4b4;

Tff7b72const Te6edf3innerDiv Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applySectionIndentTb4b4b4(Te6edf3innerDivTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Te6edf3innerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3brTb4b4b4)Tb4b4b4;
Te6edf3outerDivTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3innerDivTb4b4b4)Tb4b4b4;

Tff7b72return Tb4b4b4[Te6edf3outerDivTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4[Te6edf3brTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Te6edf3applyAlignmentTb4b4b4(Te6edf3elTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
T8b949e// use CSS text-align for alignment
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3textAlign Tff7b72= Te6edf3stateTb4b4b4.Te6edf3align Tff7b72|| Ta5d6ff"left"Tb4b4b4;
Tb4b4b4}

Te6edf3applySectionIndentTb4b4b4(Te6edf3elTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
T8b949e// indent by state.depth
Tff7b72let Te6edf3indent Tff7b72= Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3depth Tff7b72- T79c0ff1Tb4b4b4) Tff7b72* T79c0ff2Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3indent Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// Indent according to forceMonospace() character width
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3marginLeft Tff7b72= Te6edf3indent Tff7b72* T79c0ff0.6 Tff7b72+ Ta5d6ff"em"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

T8b949e// convert current state to a style object
Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3fgTff7b72: Te6edf3stateTb4b4b4.Te6edf3fg_colorTb4b4b4,
Te6edf3bgTff7b72: Te6edf3stateTb4b4b4.Te6edf3bg_colorTb4b4b4,
Te6edf3boldTff7b72: Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3boldTb4b4b4,
Te6edf3underlineTff7b72: Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underlineTb4b4b4,
Te6edf3italicTff7b72: Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italicTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Te6edf3styleToStateTb4b4b4(Te6edf3styleTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3fg Tff7b72!== Tff7b72undefined Tff7b72&& Te6edf3styleTb4b4b4.Te6edf3fg Tff7b72!== Tff7b72nullTb4b4b4) Te6edf3stateTb4b4b4.Te6edf3fg_color Tff7b72= Te6edf3styleTb4b4b4.Te6edf3fgTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3bg Tff7b72!== Tff7b72undefined Tff7b72&& Te6edf3styleTb4b4b4.Te6edf3bg Tff7b72!== Tff7b72nullTb4b4b4) Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72= Te6edf3styleTb4b4b4.Te6edf3bgTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3bold Tff7b72!== Tff7b72undefined Tff7b72&& Te6edf3styleTb4b4b4.Te6edf3bold Tff7b72!== Tff7b72nullTb4b4b4) Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3bold Tff7b72= Te6edf3styleTb4b4b4.Te6edf3boldTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3underline Tff7b72!== Tff7b72undefined Tff7b72&& Te6edf3styleTb4b4b4.Te6edf3underline Tff7b72!== Tff7b72nullTb4b4b4) Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underline Tff7b72= Te6edf3styleTb4b4b4.Te6edf3underlineTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3italic Tff7b72!== Tff7b72undefined Tff7b72&& Te6edf3styleTb4b4b4.Te6edf3italic Tff7b72!== Tff7b72nullTb4b4b4) Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italic Tff7b72= Te6edf3styleTb4b4b4.Te6edf3italicTb4b4b4;
Tb4b4b4}

Te6edf3appendOutputTb4b4b4(Te6edf3containerTb4b4b4, Te6edf3partsTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3currentSpan Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72let Te6edf3currentStyle Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72const Te6edf3flushSpan Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3currentSpanTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3currentStyle Tff7b72&& Te6edf3currentStyleTb4b4b4.Te6edf3bg Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BGTb4b4b4) Tb4b4b4{
Te6edf3currentSpanTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"inline-block"Tb4b4b4;
Tb4b4b4}
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3currentSpanTb4b4b4)Tb4b4b4;
Te6edf3currentSpan Tff7b72= Tff7b72nullTb4b4b4;
Te6edf3currentStyle Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4;

Tff7b72for Tb4b4b4(Tff7b72let Te6edf3p Tff7b72of Te6edf3partsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3p Tff7b72=== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3span Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"span"Tb4b4b4)Tb4b4b4;
Te6edf3spanTb4b4b4.Te6edf3innerHTML Tff7b72= Te6edf3pTb4b4b4;
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3spanTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3pTb4b4b4) Tff7b72&& Te6edf3pTb4b4b4.Te6edf3length Tff7b72=== T79c0ff2Tb4b4b4) Tb4b4b4{
T8b949e// tuple: [styleSpec, text]
Tff7b72let Tb4b4b4[Te6edf3styleSpecTb4b4b4, Te6edf3textTb4b4b4] Tff7b72= Te6edf3pTb4b4b4;
T8b949e// if different style, flush currentSpan
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3stylesEqualTb4b4b4(Te6edf3styleSpecTb4b4b4, Te6edf3currentStyleTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3flushSpanTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3currentSpan Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"span"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3currentSpanTb4b4b4, Te6edf3styleSpecTb4b4b4)Tb4b4b4;
Te6edf3currentStyle Tff7b72= Te6edf3styleSpecTb4b4b4;
Tb4b4b4}
Te6edf3currentSpanTb4b4b4.Te6edf3innerHTML Tff7b72+= Te6edf3textTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3p Tff7b72&& Tff7b72typeof Te6edf3p Tff7b72=== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
T8b949e// field, checkbox, radio, link
Te6edf3flushSpanTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"field"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3input Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"input"Tb4b4b4)Tb4b4b4;
Te6edf3inputTb4b4b4.Te6edf3type Tff7b72= Te6edf3pTb4b4b4.Te6edf3masked Tff7b72? Ta5d6ff"password" Tff7b72: Ta5d6ff"text"Tb4b4b4;
Te6edf3inputTb4b4b4.Te6edf3name Tff7b72= Te6edf3pTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3inputTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"value"Tb4b4b4, Te6edf3pTb4b4b4.Te6edf3dataTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3widthTb4b4b4) Tb4b4b4{
Te6edf3inputTb4b4b4.Te6edf3size Tff7b72= Te6edf3pTb4b4b4.Te6edf3widthTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3inputTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3styleFromStateTb4b4b4(Te6edf3pTb4b4b4.Te6edf3styleTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3inputTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"checkbox"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3label Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"label"Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3cb Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"input"Tb4b4b4)Tb4b4b4;
Te6edf3cbTb4b4b4.Te6edf3type Tff7b72= Ta5d6ff"checkbox"Tb4b4b4;
Te6edf3cbTb4b4b4.Te6edf3name Tff7b72= Te6edf3pTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3cbTb4b4b4.Te6edf3value Tff7b72= Te6edf3pTb4b4b4.Te6edf3valueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3precheckedTb4b4b4) Te6edf3cbTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"checked"Tb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3labelTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3cbTb4b4b4)Tb4b4b4;
Te6edf3labelTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createTextNodeTb4b4b4(Ta5d6ff" " Tff7b72+ Te6edf3pTb4b4b4.Te6edf3labelTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3labelTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3styleFromStateTb4b4b4(Te6edf3pTb4b4b4.Te6edf3styleTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3labelTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"radio"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3label Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"label"Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3rb Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"input"Tb4b4b4)Tb4b4b4;
Te6edf3rbTb4b4b4.Te6edf3type Tff7b72= Ta5d6ff"radio"Tb4b4b4;
Te6edf3rbTb4b4b4.Te6edf3name Tff7b72= Te6edf3pTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3rbTb4b4b4.Te6edf3value Tff7b72= Te6edf3pTb4b4b4.Te6edf3valueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3precheckedTb4b4b4) Te6edf3rbTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"checked"Tb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3labelTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3rbTb4b4b4)Tb4b4b4;
Te6edf3labelTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createTextNodeTb4b4b4(Ta5d6ff" " Tff7b72+ Te6edf3pTb4b4b4.Te6edf3labelTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3labelTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3styleFromStateTb4b4b4(Te6edf3pTb4b4b4.Te6edf3styleTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3labelTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"link"Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3directURL Tff7b72= Te6edf3pTb4b4b4.Te6edf3urlTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"nomadnetwork://"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"lxmf://"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
T8b949e// use p.url as is for the href
Tff7b72const Te6edf3formattedUrl Tff7b72= Te6edf3pTb4b4b4.Te6edf3urlTb4b4b4;

Tff7b72let Te6edf3a Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3href Tff7b72= Te6edf3formattedUrlTb4b4b4;
Te6edf3aTb4b4b4.Te6edf3title Tff7b72= Te6edf3formattedUrlTb4b4b4;

Tff7b72let Te6edf3fieldsToSubmit Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72let Te6edf3requestVars Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72let Te6edf3foundAll Tff7b72= Tff7b72falseTb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3fields Tff7b72&& Te6edf3pTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3f Tff7b72of Te6edf3pTb4b4b4.Te6edf3fieldsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3f Tff7b72=== Ta5d6ff"*"Tb4b4b4) Tb4b4b4{
T8b949e// submit all fields
Te6edf3foundAll Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3fTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"="Tb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// this is a request variable (key=value)
Tff7b72const Tb4b4b4[Te6edf3kTb4b4b4, Te6edf3vTb4b4b4] Tff7b72= Te6edf3fTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"="Tb4b4b4)Tb4b4b4;
Te6edf3requestVarsTb4b4b4[Te6edf3kTb4b4b4] Tff7b72= Te6edf3vTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// this is a field name to submit
Te6edf3fieldsToSubmitTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72let Te6edf3fieldStr Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3foundAllTb4b4b4) Tb4b4b4{
T8b949e// if '*' was found, submit all fields
Te6edf3fieldStr Tff7b72= Ta5d6ff"*"Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fieldStr Tff7b72= Te6edf3fieldsToSubmitTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"|"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e// append request variables directly to the directURL as query parameters
Tff7b72const Te6edf3varEntries Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3entriesTb4b4b4(Te6edf3requestVarsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3varEntriesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3queryString Tff7b72= Te6edf3varEntriesTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Tb4b4b4[Te6edf3kTb4b4b4, Te6edf3vTb4b4b4]Tb4b4b4) Tb4b4b4=> Ta5d6ff`Tffd700${Te6edf3kTffd700}Ta5d6ff=Tffd700${Te6edf3vTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"|"Tb4b4b4)Tb4b4b4;

Te6edf3directURL Tff7b72+= Te6edf3directURLTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"`"Tb4b4b4) Tff7b72? Ta5d6ff`Ta5d6ff|Tffd700${Te6edf3queryStringTffd700}Ta5d6ff` Tff7b72: Ta5d6ff`Ta5d6ff\`Tffd700${Te6edf3queryStringTffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}

Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-destination"Tb4b4b4, Ta5d6ff`Tffd700${Te6edf3directURLTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-fields"Tb4b4b4, Ta5d6ff`Tffd700${Te6edf3fieldStrTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// no fields or request variables, just handle the direct URL
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-destination"Tb4b4b4, Ta5d6ff`Tffd700${Te6edf3directURLTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3aTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff"Mu-nl"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-action"Tb4b4b4, Ta5d6ff"openNode"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3innerHTML Tff7b72= Te6edf3pTb4b4b4.Te6edf3labelTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3applyStyleToElementTb4b4b4(Te6edf3aTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3styleFromStateTb4b4b4(Te6edf3pTb4b4b4.Te6edf3styleTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3containerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3aTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Te6edf3flushSpanTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3stylesEqualTb4b4b4(Te6edf3s1Tb4b4b4, Te6edf3s2Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3s1 Tff7b72&& Tff7b72!Te6edf3s2Tb4b4b4) Tff7b72return Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3s1 Tff7b72|| Tff7b72!Te6edf3s2Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72return Tb4b4b4(
Te6edf3s1Tb4b4b4.Te6edf3fg Tff7b72=== Te6edf3s2Tb4b4b4.Te6edf3fg Tff7b72&&
Te6edf3s1Tb4b4b4.Te6edf3bg Tff7b72=== Te6edf3s2Tb4b4b4.Te6edf3bg Tff7b72&&
Te6edf3s1Tb4b4b4.Te6edf3bold Tff7b72=== Te6edf3s2Tb4b4b4.Te6edf3bold Tff7b72&&
Te6edf3s1Tb4b4b4.Te6edf3underline Tff7b72=== Te6edf3s2Tb4b4b4.Te6edf3underline Tff7b72&&
Te6edf3s1Tb4b4b4.Te6edf3italic Tff7b72=== Te6edf3s2Tb4b4b4.Te6edf3italic
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3styleFromStateTb4b4b4(Te6edf3stateStyleTb4b4b4) Tb4b4b4{
T8b949e// stateStyle is a name of a style or a style object
T8b949e// in this code, p.style is actually a style name. j,ust return that
Tff7b72return Te6edf3stateStyleTb4b4b4;
Tb4b4b4}

Te6edf3applyStyleToElementTb4b4b4(Te6edf3elTb4b4b4, Te6edf3styleTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3styleTb4b4b4) Tff7b72returnTb4b4b4;
T8b949e// convert style fg/bg to colors
Tff7b72let Te6edf3fgColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3styleTb4b4b4.Te6edf3fgTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3bgColor Tff7b72= Tff7b72thisTb4b4b4.Te6edf3colorToCssTb4b4b4(Te6edf3styleTb4b4b4.Te6edf3bgTb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3fgColor Tff7b72&& Te6edf3fgColor Tff7b72!== Ta5d6ff"default"Tb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3color Tff7b72= Te6edf3fgColorTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bgColor Tff7b72&& Te6edf3bgColor Tff7b72!== Ta5d6ff"default"Tb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3backgroundColor Tff7b72= Te6edf3bgColorTb4b4b4;
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3display Tff7b72= Ta5d6ff"inline-block"Tb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3boldTb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3fontWeight Tff7b72= Ta5d6ff"bold"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3underlineTb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3textDecoration Tff7b72= Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3textDecoration Tff7b72? Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3textDecoration Tff7b72+ Ta5d6ff" underline" Tff7b72: Ta5d6ff"underline"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3styleTb4b4b4.Te6edf3italicTb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3fontStyle Tff7b72= Ta5d6ff"italic"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Te6edf3colorToCssTb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3c Tff7b72|| Te6edf3c Tff7b72=== Ta5d6ff"default"Tb4b4b4) Tff7b72return Tff7b72nullTb4b4b4;
T8b949e// if 3 hex chars (like '222') => expand to #222
Tff7b72if Tb4b4b4(Te6edf3cTb4b4b4.Te6edf3length Tff7b72=== T79c0ff3 Tff7b72&& Ta5d6ff/^[0-9a-fA-F]{3}$/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"#" Tff7b72+ Te6edf3cTb4b4b4;
Tb4b4b4}
T8b949e// If 6 hex chars
Tff7b72if Tb4b4b4(Te6edf3cTb4b4b4.Te6edf3length Tff7b72=== T79c0ff6 Tff7b72&& Ta5d6ff/^[0-9a-fA-F]{6}$/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"#" Tff7b72+ Te6edf3cTb4b4b4;
Tb4b4b4}
T8b949e// If grayscale 'gxx'
Tff7b72if Tb4b4b4(Te6edf3cTb4b4b4.Te6edf3length Tff7b72=== T79c0ff3 Tff7b72&& Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"g"Tb4b4b4) Tb4b4b4{
T8b949e// treat xx as a number and map to gray
Tff7b72let Te6edf3val Tff7b72= Tffa657parseIntTb4b4b4(Te6edf3cTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657isNaNTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Te6edf3val Tff7b72= T79c0ff50Tb4b4b4;
T8b949e// map 0-99 scale to a gray hex
Tff7b72let Te6edf3h Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3val Tff7b72* T79c0ff2.55Tb4b4b4)
Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)
Tb4b4b4.Te6edf3padStartTb4b4b4(T79c0ff2Tb4b4b4, Ta5d6ff"0"Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff"#" Tff7b72+ Te6edf3h Tff7b72+ Te6edf3h Tff7b72+ Te6edf3hTb4b4b4;
Tb4b4b4}

T8b949e// fallback: just return a known CSS color or tailwind class if not known
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}

Te6edf3makeOutputTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3literalTb4b4b4) Tb4b4b4{
T8b949e// literal mode: output as is, except if `= line
Tff7b72if Tb4b4b4(Te6edf3line Tff7b72=== Ta5d6ff"\\`="Tb4b4b4) Tb4b4b4{
Te6edf3line Tff7b72= Ta5d6ff"`="Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3splitAtSpacesTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4]Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3lineTb4b4b4]Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72let Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72let Te6edf3part Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3mode Tff7b72= Ta5d6ff"text"Tb4b4b4;
Tff7b72let Te6edf3escape Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72let Te6edf3skip Tff7b72= T79c0ff0Tb4b4b4;

Tff7b72const Te6edf3flushPart Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3partTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3splitAtSpacesTb4b4b4(Te6edf3partTb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3partTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3part Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4;

Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3i Tff7b72< Te6edf3lineTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3c Tff7b72= Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3skip Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3skipTff7b72--Tb4b4b4;
Te6edf3iTff7b72++Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3mode Tff7b72=== Ta5d6ff"formatting"Tb4b4b4) Tb4b4b4{
Tff7b72switch Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"_"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underline Tff7b72= Tff7b72!Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underlineTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"!"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3bold Tff7b72= Tff7b72!Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3boldTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"*"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italic Tff7b72= Tff7b72!Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italicTb4b4b4;
Tff7b72breakTb4b4b4;

Tff7b72case Ta5d6ff"F"Tff7b72:
T8b949e// next 3 chars => fg color
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72>= Te6edf3i Tff7b72+ T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3color Tff7b72= Te6edf3lineTb4b4b4.Te6edf3substrTb4b4b4(Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3fg_color Tff7b72= Te6edf3colorTb4b4b4;
Te6edf3skip Tff7b72= T79c0ff3Tb4b4b4;
Tb4b4b4}
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"f"Tff7b72:
T8b949e// reset fg to page default
Te6edf3stateTb4b4b4.Te6edf3fg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_fgTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"B"Tff7b72:
T8b949e// next 3 chars => bg color
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72>= Te6edf3i Tff7b72+ T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3color Tff7b72= Te6edf3lineTb4b4b4.Te6edf3substrTb4b4b4(Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72= Te6edf3colorTb4b4b4;
Te6edf3skip Tff7b72= T79c0ff3Tb4b4b4;
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// flush current part when background color changes
Tb4b4b4}
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"b"Tff7b72:
T8b949e// reset bg to page default
Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_bgTb4b4b4;
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// flush to allow for ` tags on same line
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"`"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3bold Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underline Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italic Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3fg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_fgTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_bgTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_alignTb4b4b4;
Te6edf3mode Tff7b72= Ta5d6ff"text"Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"c"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Ta5d6ff"center"Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"l"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Ta5d6ff"left"Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"r"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Ta5d6ff"right"Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"a"Tff7b72:
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_alignTb4b4b4;
Tff7b72breakTb4b4b4;

Tff7b72case Ta5d6ff"<"Tff7b72: Tb4b4b4{
T8b949e// if there's already text, flush it
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3fieldData Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseFieldTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3iTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3fieldDataTb4b4b4) Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3fieldDataTb4b4b4.Te6edf3objTb4b4b4)Tb4b4b4;
Te6edf3i Tff7b72+= Te6edf3fieldDataTb4b4b4.Te6edf3skipTb4b4b4;
T8b949e// do not i++ here or we'll skip an extra char
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72breakTb4b4b4;
Tb4b4b4}

Tff7b72case Ta5d6ff"["Tff7b72: Tb4b4b4{
T8b949e// flush current text first
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3linkData Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseLinkTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3iTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3linkDataTb4b4b4) Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3linkDataTb4b4b4.Te6edf3objTb4b4b4)Tb4b4b4;
Te6edf3i Tff7b72+= Te6edf3linkDataTb4b4b4.Te6edf3skipTb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72breakTb4b4b4;
Tb4b4b4}

Tff7b72defaultTff7b72:
T8b949e// unknown formatting char, ignore
Tff7b72breakTb4b4b4;
Tb4b4b4}
Te6edf3mode Tff7b72= Ta5d6ff"text"Tb4b4b4;
Te6edf3iTff7b72++Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// mode === "text"
Tff7b72if Tb4b4b4(Te6edf3escapeTb4b4b4) Tb4b4b4{
Te6edf3part Tff7b72+= Te6edf3cTb4b4b4;
Te6edf3escape Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=== Ta5d6ff"\\"Tb4b4b4) Tb4b4b4{
Te6edf3escape Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=== Ta5d6ff"`"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3i Tff7b72+ T79c0ff1 Tff7b72< Te6edf3lineTb4b4b4.Te6edf3length Tff7b72&& Te6edf3lineTb4b4b4[Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4] Tff7b72=== Ta5d6ff"`"Tb4b4b4) Tb4b4b4{
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3bold Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3underline Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3formattingTb4b4b4.Te6edf3italic Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3fg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_fgTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3bg_color Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_bgTb4b4b4;
Te6edf3stateTb4b4b4.Te6edf3align Tff7b72= Te6edf3stateTb4b4b4.Te6edf3default_alignTb4b4b4;
Te6edf3i Tff7b72+= T79c0ff2Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3flushPartTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3mode Tff7b72= Ta5d6ff"formatting"Tb4b4b4;
Te6edf3iTff7b72++Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// normal text char
Te6edf3part Tff7b72+= Te6edf3cTb4b4b4;
Tb4b4b4}
Te6edf3iTff7b72++Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// end of line
Tff7b72if Tb4b4b4(Te6edf3partTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3splitAtSpacesTb4b4b4(Te6edf3partTb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4, Te6edf3partTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72return Te6edf3outputTb4b4b4;
Tb4b4b4}

Te6edf3parseFieldTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3startIndexTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3field_start Tff7b72= Te6edf3startIndex Tff7b72+ T79c0ff1Tb4b4b4;
Tff7b72let Te6edf3backtick_pos Tff7b72= Te6edf3lineTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff"`"Tb4b4b4, Te6edf3field_startTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3backtick_pos Tff7b72=== Tff7b72-T79c0ff1Tb4b4b4) Tff7b72return Tff7b72nullTb4b4b4;

Tff7b72let Te6edf3field_content Tff7b72= Te6edf3lineTb4b4b4.Te6edf3substringTb4b4b4(Te6edf3field_startTb4b4b4, Te6edf3backtick_posTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3field_masked Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72let Te6edf3field_width Tff7b72= T79c0ff24Tb4b4b4;
Tff7b72let Te6edf3field_type Tff7b72= Ta5d6ff"field"Tb4b4b4;
Tff7b72let Te6edf3field_name Tff7b72= Te6edf3field_contentTb4b4b4;
Tff7b72let Te6edf3field_value Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3field_prechecked Tff7b72= Tff7b72falseTb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3field_contentTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"|"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3f_components Tff7b72= Te6edf3field_contentTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"|"Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3field_flags Tff7b72= Te6edf3f_componentsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Te6edf3field_name Tff7b72= Te6edf3f_componentsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3field_flagsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"^"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3field_type Tff7b72= Ta5d6ff"radio"Tb4b4b4;
Te6edf3field_flags Tff7b72= Te6edf3field_flagsTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"^"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3field_flagsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"?"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3field_type Tff7b72= Ta5d6ff"checkbox"Tb4b4b4;
Te6edf3field_flags Tff7b72= Te6edf3field_flagsTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"?"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3field_flagsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"!"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3field_masked Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3field_flags Tff7b72= Te6edf3field_flagsTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"!"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3field_flagsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3w Tff7b72= Tffa657parseIntTb4b4b4(Te6edf3field_flagsTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657isNaNTb4b4b4(Te6edf3wTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3field_width Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3wTb4b4b4, T79c0ff256Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3f_componentsTb4b4b4.Te6edf3length Tff7b72> T79c0ff2Tb4b4b4) Tb4b4b4{
Te6edf3field_value Tff7b72= Te6edf3f_componentsTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3f_componentsTb4b4b4.Te6edf3length Tff7b72> T79c0ff3Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3f_componentsTb4b4b4[T79c0ff3Tb4b4b4] Tff7b72=== Ta5d6ff"*"Tb4b4b4) Tb4b4b4{
Te6edf3field_prechecked Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72let Te6edf3field_end Tff7b72= Te6edf3lineTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff">"Tb4b4b4, Te6edf3backtick_posTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3field_end Tff7b72=== Tff7b72-T79c0ff1Tb4b4b4) Tff7b72return Tff7b72nullTb4b4b4;

Tff7b72let Te6edf3field_data Tff7b72= Te6edf3lineTb4b4b4.Te6edf3substringTb4b4b4(Te6edf3backtick_pos Tff7b72+ T79c0ff1Tb4b4b4, Te6edf3field_endTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3style Tff7b72= Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4;

Tff7b72let Te6edf3obj Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3field_type Tff7b72=== Ta5d6ff"checkbox" Tff7b72|| Te6edf3field_type Tff7b72=== Ta5d6ff"radio"Tb4b4b4) Tb4b4b4{
Te6edf3obj Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Te6edf3field_typeTb4b4b4,
Te6edf3nameTff7b72: Te6edf3field_nameTb4b4b4,
Te6edf3valueTff7b72: Te6edf3field_value Tff7b72|| Te6edf3field_dataTb4b4b4,
Te6edf3labelTff7b72: Te6edf3field_dataTb4b4b4,
Te6edf3precheckedTff7b72: Te6edf3field_precheckedTb4b4b4,
Te6edf3styleTff7b72: Te6edf3styleTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3obj Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"field"Tb4b4b4,
Te6edf3nameTff7b72: Te6edf3field_nameTb4b4b4,
Te6edf3widthTff7b72: Te6edf3field_widthTb4b4b4,
Te6edf3maskedTff7b72: Te6edf3field_maskedTb4b4b4,
Te6edf3dataTff7b72: Te6edf3field_dataTb4b4b4,
Te6edf3styleTff7b72: Te6edf3styleTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Tff7b72let Te6edf3skip Tff7b72= Te6edf3field_end Tff7b72- Te6edf3startIndexTb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3objTff7b72: Te6edf3objTb4b4b4, Te6edf3skipTff7b72: Te6edf3skip Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Te6edf3parseLinkTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3startIndexTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3endpos Tff7b72= Te6edf3lineTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff"]"Tb4b4b4, Te6edf3startIndexTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3endpos Tff7b72=== Tff7b72-T79c0ff1Tb4b4b4) Tff7b72return Tff7b72nullTb4b4b4;

Tff7b72let Te6edf3link_data Tff7b72= Te6edf3lineTb4b4b4.Te6edf3substringTb4b4b4(Te6edf3startIndex Tff7b72+ T79c0ff1Tb4b4b4, Te6edf3endposTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3link_components Tff7b72= Te6edf3link_dataTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"`"Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3link_label Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3link_url Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3link_fields Tff7b72= Ta5d6ff""Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3link_componentsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3link_label Tff7b72= Ta5d6ff""Tb4b4b4;
Te6edf3link_url Tff7b72= Te6edf3link_dataTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3link_componentsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff2Tb4b4b4) Tb4b4b4{
Te6edf3link_label Tff7b72= Te6edf3link_componentsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Te6edf3link_url Tff7b72= Te6edf3link_componentsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3link_componentsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff3Tb4b4b4) Tb4b4b4{
Te6edf3link_label Tff7b72= Te6edf3link_componentsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Te6edf3link_url Tff7b72= Te6edf3link_componentsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Te6edf3link_fields Tff7b72= Te6edf3link_componentsTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3link_urlTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3link_label Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Te6edf3link_label Tff7b72= Te6edf3link_urlTb4b4b4;
Tb4b4b4}

T8b949e// format the URL
Te6edf3link_url Tff7b72= Te6edf3MicronParserTb4b4b4.Te6edf3formatNomadnetworkUrlTb4b4b4(Te6edf3link_urlTb4b4b4)Tb4b4b4;

T8b949e// Apply forceMonospace
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Te6edf3link_label Tff7b72= Tff7b72thisTb4b4b4.Te6edf3splitAtSpacesTb4b4b4(Te6edf3link_labelTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72let Te6edf3style Tff7b72= Tff7b72thisTb4b4b4.Te6edf3stateToStyleTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3obj Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"link"Tb4b4b4,
Te6edf3urlTff7b72: Te6edf3link_urlTb4b4b4,
Te6edf3labelTff7b72: Te6edf3link_labelTb4b4b4,
Te6edf3fieldsTff7b72: Te6edf3link_fields Tff7b72? Te6edf3link_fieldsTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"|"Tb4b4b4) Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3styleTff7b72: Te6edf3styleTb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72let Te6edf3skip Tff7b72= Te6edf3endpos Tff7b72- Te6edf3startIndexTb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3objTff7b72: Te6edf3objTb4b4b4, Te6edf3skipTff7b72: Te6edf3skip Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Te6edf3splitAtSpacesTb4b4b4(Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3out Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3wordArr Tff7b72= Te6edf3lineTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff/(?<= )/gTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3wordArrTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3out Tff7b72+= Ta5d6ff"<span class='Mu-mws'>" Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3forceMonospaceTb4b4b4(Te6edf3wordArrTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4) Tff7b72+ Ta5d6ff"</span>"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3outTb4b4b4;
Tb4b4b4}

Te6edf3forceMonospaceTb4b4b4(Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3out Tff7b72= Ta5d6ff""Tb4b4b4;
T8b949e// Properly split compount emoji, source: https://stackoverflow.com/a/71619350
Tff7b72let Te6edf3charArr Tff7b72= Tb4b4b4[Tb4b4b4...Tff7b72new Tffa657IntlTb4b4b4.Te6edf3SegmenterTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3segmentTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4]Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3xTb4b4b4) Tb4b4b4=> Te6edf3xTb4b4b4.Te6edf3segmentTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72let Tff7b72char Tff7b72of Te6edf3charArrTb4b4b4) Tb4b4b4{
Te6edf3out Tff7b72+= Ta5d6ff"<span class='Mu-mnt'>" Tff7b72+ Tff7b72char Tff7b72+ Ta5d6ff"</span>"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3outTb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72export Tff7b72default Te6edf3MicronParserTb4b4b4;


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────